Deterministic field bus and process for management of such a bus

ABSTRACT

This invention relates to a deterministic field bus and a process for management of this bus enabling communication of messages between several subscriber stations each comprising at least one controller that generates and decodes the communication protocol, in which an exchange principle is used such that only one subscriber station is activated at any one time, with the others being passive.

TECHNICAL FIELD

[0001] This invention relates to a deterministic field bus and a process for management of such a bus, particularly for avionics.

STATE OF PRIOR ART

[0002] The CAN (Controller Area Network) bus as defined in documents references [1] and [2] at the end of the description, forms part of the family of field buses. It is an asynchronous bus with a throughput of up to 1 Mb/s with a physical layer not defined by the standard. Therefore several media may be used including a wire support, optical support, electromagnetic support. These ISO (International Standard Organization) standards describe the CAN bus as being a serial communication protocol that efficiently supports the distribution of commands in real time with a high degree of security. Its preferred applications usually include high throughput network applications with high transmission reliability and based on the low cost multiplexed wiring concept.

[0003] In order to make the system elastic, the CAN bus concept offers an addressing principle based on the content of the message itself, and no longer on the source and destination addresses. Messages are broadcast, in other words a message sent by one station is transmitted to all other stations in the network. The transmitted message is then actually selected by an “acceptance” filtering onboard each station.

[0004] Many signaling and error detection devices have been developed in order to improve the quality and security of transmission. These devices include acknowledgement, the presence of a CRC (Cyclic Redundancy Code), “stuffing” bit technique, etc. Furthermore, to satisfy “real time” applications, the CSMA/CD+AMP (Carrier Sense Multiple Access/Collision Detection+Arbitration on Message Priority) principle was adopted to eliminate access conflicts to the media. This device operates by means of contention at the bit level itself. In other words, bus access conflicts are managed throughout the duration of the bit.

[0005] Heterogeneous equipment is kept compatible by the definition of interconnection standards that define the behavior of each equipment with regard to other equipment. The standard bus architecture, better known under the term OSI model, may be applicable to all bus categories. Some layers are free and are therefore not specified, depending on the bus type. Layers 3 to 6 are free in field buses. This reference model defines 7 layers and specifies the functions of the service rendered for each layer: Layer No. ISO/OSI Model 7 Application 6 Presentation 5 Session 4 Transport 3 Network 2 Data communication 1 Physical layer

[0006] Layer 7 defines the mechanisms common to distributed applications and the significance of the information exchanged. Layer 6 deals with the syntax of exchanged information such as messages, documents, files, etc. Layer 5 offers means of organizing and synchronizing the dialogue between subscribers. Layer 4 supplies means of transporting information from one end of a bus to the other between two users. It is used as an intermediary between layers dealing specifically with processing (layers 5, 6, 7) and layers dealing with communication (layers 1, 2, 3). Layer 3 transfers data blocks (packets) between two subscribers. Layer 2 controls the reliable transfer of information between adjacent systems (directly connected to each other). Layer 1 transmits bits in a data block and specifies the mechanical and electrical rules, and bit exchange protocols; it offers means of setting up a physical connection between two items of equipment.

[0007] These layers communicate with equivalent layers in other equipment through standard protocols. Layers communicate with their immediately adjacent layers through hardware or software interfaces, inside a single equipment.

[0008] The CAN protocol only covers all of the entire layer 2 and a large part of the first of the seven layers of the ISO/OSI model.

[0009] There is an arbitration mechanism on the CAN bus; if two or more units start simultaneously when the bus is free, there is a bus conflict that is solved by a non-destructive bit by bit arbitration throughout the contents of the identifier (CSMA/CD+AMP principle). This arbitration mechanism ensures that there will be no loss of time or data.

[0010] When the arbitration phase is being carried out, each sender compares the level of the bit transmitted on the bus with the level of the bit that it is supposed to transmit itself. If these levels are identical, the node continues to send. When a recessive level (logical level ‘1’) is sent and a dominant level (logical level ‘0’) is observed on the bus, the unit considered loses the arbitration and it has to stop transmitting and not send any more bits. A new attempt to transmit the message takes place at the end of the current frame and until the transmission is successful. Therefore, this arbitration principle defines a priority for bus access; the unit with the highest priority message (based on the binary contents of its identifier) gains access to the bus and transmits its message. In the example illustrated in FIG. 1, subscribers A1 and A2 loose the arbitration at 10; therefore, they do not have priority over subscriber A3 that gains the bus and transmits its message.

[0011] Many error signaling and detection devices have been developed to increase the quality and security of the transmission, particularly including the acknowledgement principle, the CRC and the concept of the “stuffing” bit. We will look at each of these devices in turn.

[0012] All receivers must send an acknowledgement message when they have not detected any error in the message. Therefore, they superpose a dominant bit on the recessive bit already present in the bit called the “ACK slot” in the acknowledgement field. Otherwise, if the message is considered as being invalid, the receiver will not return an acknowledgement. Furthermore, to satisfy the CAN protocol, the receiver is obliged to signal the error by transmitting an error frame.

[0013] To protect the information transiting on the bus, a CRC (Cyclic Redundancy Code) is introduced into the frame itself. This is a code that the sender calculates during the emission and the receiver calculates during the reception. The two results are compared and if they are not the same, an error is introduced that is automatically signaled by the receiver.

[0014] Information exchanged by subscribers is digital. It is coded in NRZ (Non Return to Zero) so that it can be transited on the bus. In other words, there is no return to zero between two bits with the same value. Since the bit is coded in NRZ, it is possible that a particular message contains a large number of bits with the same value and may make one or several stations believe that there is a problem on the network. The concept of the “stuffing” bit consists of the sender inserting an additional bit (that will be eliminated by the receiver) after 5 successive bits with the same value. The value of this stuffing bit is opposite to the value of the five other bits. This process increases the security of the message during transport on the bus.

[0015] All information transported on the bus is sent in the form of frames. A frame is a sequence of bits organized in different fields.

[0016] There are four source of frames:

[0017] Data frame

[0018] Request frame

[0019] Error frame

[0020] Overload frame

[0021] The data frame transports the data. It comprises seven fields including:

[0022] Start of Frame or SOF

[0023] Arbitration field

[0024] Control field

[0025] Data field

[0026] CRC sequence

[0027] ACKnowledgement field

[0028] End of Frame or EOF

[0029] and is then followed by an eighth field called the Interframe field.

[0030] Data transmission may be affected by errors on the bus disturbing circulation of frames. Several types of error can occur:

[0031] At the physical layer level:

[0032] bit affected by errors (for example by parasites)

[0033] “stuffing bit” error: violation of the “stuffing bit” rule between the SOF and the CRC.

[0034] At frame level:

[0035] Acknowledgement errors: no dominant bit during the “ACK slot” bit

[0036] CRC errors: disagreement between the value of the CRC calculated by the receiver and the value of the CRC sent by the sender

[0037] At the frame structure level (data not in place):

[0038] “CRC delimiter” error

[0039] “ACKnowledge delimiter” error

[0040] “End of frame” error

[0041] “Error delimiter” error

[0042] “Overload delimiter” error

[0043] In all cases, the presence of errors is signaled by an error frame generated on the bus.

[0044] By sending a request frame, a node signals to the other nodes present on the network that it would like to receive data from them in the form of a corresponding data frame. The request frame and the associated data frame are identified by the same identifier. If two data frames are sent at the same time, the data frame takes priority over a request frame.

[0045] The request frame is composed of six fields as follows:

[0046] Start of Frame or SOF

[0047] Arbitration field

[0048] Control field

[0049] CRC Sequence

[0050] ACKnowledgement field

[0051] End of Frame or EOF

[0052] and is then also followed by an “Interframe” field.

[0053] The error frame is composed of two fields:

[0054] Error flags field: consisting of the superposition of error flags to which the different stations present on the bus contributed. These error flags may be of two different types depending on the error type (defined later):

[0055] six dominant bits in the case of an active error

[0056] six recessive bits in the case of a passive error.

[0057] Field delimiter: composed of eight consecutive recessive bits.

[0058] It is then followed by the interframe field defined above.

[0059] The purpose of the overload frame is to indicate that a station is overloaded. It may be emitted when a receiver requires a certain time to accept the next frame (data or request), or when a dominant bit is detected during the intermission phase. Only two consecutive overload frames are possible, to avoid blocking the bus indefinitely. This frame only comprises two fields:

[0060] Overload flags field: composed of six consecutive dominant bits

[0061] Field delimiter: composed of eight consecutive recessive bits.

[0062] There are many components that can be used to create solutions operating under the CAN protocol and capable of transporting frames on different media. The components of the CAN bus can be subdivided according to the four main classes with the following functions:

[0063] Protocol managers (controllers): the function of these managers is to generate and decode the protocol. They are usually incapable of operating alone and must be controlled by a microcontroller.

[0064] Microcontrollers with protocol managers onboard: they are made to reduce the cost of making the two components (protocol manager and microcontroller).

[0065] Line control interfaces (Drivers): these make up the part controlling the link between the protocol manager and the support.

[0066] SLIO (Serial Link Input/Output) circuits these are very simple circuits, in other words without any onboard CPU or microcontroller interface. Their function is to carry out mainly input/output tasks, either digital or analogue, and their function on the bus is in slave mode (can be queried) only.

[0067] There are several disadvantages with this type of CAN bus.

[0068] Firstly, it has a theoretical limitation in terms of throughput and length. The arbitration and acknowledgement operating principle requires a timed combination of frame bits output from the different subscribers.

[0069] Various additional limitations have also been observed in practice:

[0070] Mismatch of impedance on driver circuits transmitting on the bus (signal reflection),

[0071] Variation of this mismatch due to multiple collision conditions on the bus,

[0072] Possible degradation of the signal shape due to capacitive charges, in aeronautics carried by lightning protection.

[0073] Therefore the transmission quality on the line is degraded, reducing the theoretical performances for use at limiting throughput/length conditions.

[0074] Therefore, this type of bus is more suitable for “Automobile market” type uses, for which communication constraints are not severe:

[0075] bus a few meters long

[0076] throughput 250 kbits/s,

[0077] no EMI+lightning protection circuits, and which is therefore not sensitive to mismatch problems related to the inherent characteristics of commercially available components.

[0078] The purpose of the invention is to extend the use of such a bus to the avionics industry by improving its performances:

[0079] control the line impedance (only one active subscriber),

[0080] bus length limited only by the attenuation of the support and the connections,

[0081] possible speed 1 Mbit/s independently of the bus length.

PRESENTATION OF THE INVENTION

[0082] This invention proposes a process for management of a determinist field bus enabling communication of messages between several subscriber stations each comprising at least one controller responsible for generating and decoding the communication protocol, characterized in that emissions from one of the subscriber stations onto the bus are enabled and in that emissions from the other stations onto the bus are disabled for an exchange principle in which only one subscriber station is active at any one time, the others being passive. The terms “active” and “passive” should be understood in the electrical sense on the bus.

[0083] Advantageously, this process does not use the bit juxtaposition principle.

[0084] The following mechanisms can be used in this process:

[0085] monitoring of the output level from each controller,

[0086] use of an authorization window for sending responses managed locally at slave subscriber stations,

[0087] isolation of subscriber stations from the bus if they are defective,

[0088] multi-sampling of the bit greater than 3 (which is the same as the standard CAN bus).

[0089] This invention also proposes a deterministic field bus comprising controllers, line driver circuits and a line itself, carrying communication of messages between several subscriber stations, characterized in that it includes a management device comprising means of enabling transmissions on the bus from one of the subscriber stations and means of disabling transmissions on the bus from the other stations, for an exchange principle in which a single subscriber station is active at any one time and the others remain passive.

[0090] In comparison with the CAN bus, this bus has the following advantageous characteristics:

[0091] elimination of bit juxtapositions:

[0092] no more acknowledgement

[0093] no more arbitration

[0094] Maintain functional frames:

[0095] data frames

[0096] request frames

[0097] Elimination of non-functional frames:

[0098] no more error frames sent by a subscriber in reception

[0099] no more overload frames sent on the bus

[0100] Unchanged frame format:

[0101] use of commercially available analysis tools

[0102] Unchanged security functions:

[0103] data checking with CRC

[0104] bit coding with “stuffing” bits

[0105] Unchanged physical support:

[0106] tested physical behavior

[0107] performance improved in terms of throughput/length/number of subscribers.

[0108] In a first embodiment, each subscriber station comprises two associated controllers.

[0109] This first mode has the following advantageous characteristics:

[0110] self-checking of data sent on the bus

[0111] automatic local acknowledgement

[0112] simple usage with CAN components available on the market making it possible to change to listening mode only.

[0113] In a second embodiment, each subscriber station comprises logical means placed between a controller and the bus driver, forming security mechanisms enabling:

[0114] monitoring of the configuration at the controller output,

[0115] use of a window to authorize sending responses managed locally at slave subscriber stations,

[0116] isolation of subscriber stations from the bus if they are defective.

[0117] This second embodiment has the following advantageous characteristics:

[0118] self checking of data sent on the bus,

[0119] automatic local acknowledgement,

[0120] use of all CAN controller types available on the market,

[0121] isolation of defective subscribers.

[0122] In a third embodiment, each subscriber station has a dedicated component performing the following functions:

[0123] addition of security mechanisms:

[0124] use of a window authorizing sending responses managed locally at slave subscriber stations,

[0125] isolation of subscriber stations on the bus if the bus is defective.

[0126] Multi-sampling of the bit greater than 3 (like the standard CAN bus).

[0127] This third mode has the following advantageous characteristics:

[0128] smaller hardware architecture/low cost,

[0129] isolation of defective subscribers,

[0130] improvement of bit synchronizations,

[0131] better immunity to external aggressions.

[0132] This type of deterministic field bus may advantageously be used in avionics.

[0133] The invention can be used to satisfy communication needs with severe constraints, namely:

[0134] high throughput (above a few hundred kbits/s),

[0135] long bus length (more than 100 m),

[0136] guaranteed determinism (perfect control over the moment at which the data must be transmitted).

[0137] This type of architecture overcomes the constraints of the CAN bus mentioned above.

[0138] If only one subscriber is active on the bus, arbitration and multiple acknowledgement with the other subscribers are no longer necessary. Length limits related to the nature of the support and component performances are perfectly compatible with requirements in the aeronautical environment. For example, CAN type driver circuits or RS 485 type driver circuits can be used in the case of an electrical connection, or inexpensive components can be used for an optical link. In this case, lightning—EMI protection circuits are no longer necessary:

[0139] the solution of problems related to matching subscribers to the bus is very much simplified,

[0140] from a deterministic point of view, in the first embodiment, a network “tandem” controller is master of exchanges within its network and then acts as the bus master by distributing speech times to other subscribers,

[0141] the hardware used may be composed exclusively of CAN bus components used at the present time and therefore benefit from cost and multisource advantages,

[0142] mechanisms to increase the security of messages specific to the conventional deterministic field protocol remain active (“stuffing” bits, CRC, acknowledgement, etc.).

BRIEF DESCRIPTION OF THE DRAWINGS

[0143]FIG. 1 illustrates the arbitration principle of a CAN bus.

[0144]FIG. 2 illustrates the general architecture of a conventional CAN subscriber.

[0145]FIG. 3 illustrates a first embodiment of the invention.

[0146]FIGS. 4 and 5 illustrate a second embodiment of the invention.

[0147]FIG. 6 illustrates a third embodiment of the invention.

DETAILED PRESENTATION OF EMBODIMENTS

[0148] The invention relates to a deterministic field bus comprising controllers, line driver circuits and the actual line providing communication of messages between several subscriber stations, and which comprises a management device including means of validating transmissions on the bus from one of the subscriber stations and means of disabling data sent on the bus from the other stations, following an exchange principle in which only one subscriber station is active at any one time while the others remain passive. According to the management process for this bus, the services offered by the CAN communication protocol are used but the basic principle of this protocol is no longer used (collision management and acknowledgement), while the bus controllers are kept.

[0149] In a first embodiment of the invention, any subscriber to the bus is equipped with two associated bus controllers in “tandem”.

[0150] As illustrated on FIG. 2, the general architecture of a conventional CAN subscriber is based on a microcontroller 20 that carries out the application processing, a protocol controller 21 that is responsible for bus management in accordance with the CAN protocol, and a line interface 22 that shapes the electrical signal in accordance with the recommendations of standards references [1] and [2]; the CAN bus being reference 23.

[0151] On the other hand, in the first embodiment illustrated on FIG. 3, the general architecture of a subscriber requires that two protocol controllers 30, 31 are used. To prevent the duplication of line interfaces and connections to the bus, a line interface 31 common to the two controllers is used, the transmission signal passes through an elementary logical gate 33 (AND gate) in order to manage access for sending, the loop being made by the line interface. The bus is reference 34.

[0152] At any given moment, there is only one sending controller on the bus and the others are listening. This sending controller acts as a bus controller managing exchanges. It works in “normal” mode while sending and the other controllers work in “passive” mode in reception. The use of two controllers in “tandem” makes it possible to immediately check that data is sent correctly on the bus, confirming every transmission that is correctly sent by an acknowledgement. After data has been sent on the bus, the bus controller returns to passive mode.

[0153] Two cases can arise at the end of this send:

[0154] the only purpose of sending the frame was to provide information to other subscribers (“broadcast” type send),

[0155] the transmission was actually a query to another subscriber, and a reply from this other subscriber is necessary.

[0156] If the transmission is a query to a single subscriber that requires a response from this subscriber, this subscriber is not in a position to reply (it is in passive mode). At a higher level, at the application level, a check is made that the message is actually addressed to it. In this case, the application reconfigures its controller in “normal” mode only for the time necessary for the reply. This reply controller is also in “tandem”, so that it can be checked that data are correctly sent on the bus. The bus controller is then capable of receiving the reply, so that it can then question another subscriber or inform the other subscribers.

[0157] In this embodiment, there is no need for arbitration to manage conflicts since there are no more conflicts. Operation is in question/answer mode. Time coincidences of acknowledgement bits are useless (acknowledgement managed locally by controllers “in tandem”).

[0158] In a second embodiment, the advantages of the first embodiment are retained (performances related to the master/slave protocol), but the second controller is replaced by a dedicated logic that is inserted between the controller and the driver circuit performing the same functions:

[0159] disable transmissions on the bus when the subscriber is in passive mode (in reception only),

[0160] automatic acknowledgement for transmission by the subscriber (local acknowledgement),

[0161] transmission of the acknowledgement on the bus at the end of a frame in reception prohibited,

[0162] elimination of the transmission of error frames on the bus when the subscriber is in reception, and also:

[0163] addition of security mechanisms,

[0164] monitoring the configuration of the output level (Tx) from the controller,

[0165] window for authorization to send responses managed locally at slave subscribers,

[0166] subscriber isolated from the bus if it is defective.

[0167] Therefore the second controller of the first embodiment is eliminated and an arbitrary first controller is used. The time to change back from passive mode <=> active mode is no longer used. The application layer no longer manages the second controller. Disturbances on the bus are limited if there is a subscriber failure.

[0168] The dedicated logic is composed of an additional component; an MS-CAN or “master-slave” type manager 40. As shown on FIG. 4, this manager 40 is a standalone programmable circuit, for example an FPGA type circuit inserted between the controller 41 and the “driver” circuit 42 (transceiver) of the CAN bus 43. It controls access to the master bus and slaves to assign the right to write to one only at any onetime. This principle prevents collisions on the bus and prohibits acknowledgements.

[0169] Since the CAN protocol imposes automatic retransmission of an unacknowledged frame on the controller 41, the manager 41 must supply the acknowledgement bit to the controller 41 locally.

[0170] This manager 40 is defined based on the functional block diagram illustrated on FIG. 5, for which the inputs or outputs have the following meanings:

[0171] RST: reset

[0172] DISC IN-P: command to disconnect the line interface controller on pulse

[0173] DISC IN-S: command to disconnect the line interface controller on state

[0174] DISC-S: state of manager (disconnection or on line)

[0175] SOF: start of frame (SOF bit)

[0176] EOF: end of frame (last bit in the EOF field)

[0177] ACK: acknowledgement (ACK bit)

[0178] ENV: frame envelope, from the SOF until the last recessive bit in the frame (EOF)

[0179] CLK: controller clock

[0180] CLK SEL: select clock frequency: 16 or 24 MHz (SJA1000 at 16 or 24 MHz, Intel 82527 at 16 MHz)

[0181] TIMER SEL: select authorized response times timers T and T′ (2×8 bits)

[0182] DEB SEL: throughput selection (500 kbps or 1 Mbps)

[0183] Tx, Rx to I/F: input/output to electrical line interface (for example 82C251)

[0184] Tx, Rx controller (CTRL): Tx output, Rx input of the controller

[0185] M/S: operation configuration input in “Master” mode or in “Slave” mode.

[0186] The function of the dedicated logic is to enable a master/slave operating mode as far as the lowest level of the layers while keeping the structure of CAN frames. The fact that there must only be a single active subscriber on the bus at any one moment means that there are no longer multiple arbitrations and acknowledgements between subscribers. A master subscriber (alone or in redundancy by pairs on the bus) puts itself into active mode to send a single request on the bus, and it transmits to all slave subscribers that are passive (they do not acknowledge this frame). This frame is validated and acknowledged locally by the dedicated logic at the master subscriber and is addressed to a slave subscriber. The master subscriber puts itself into passive mode for as long as necessary for the response. The slave subscriber concerned puts itself into active mode to reply (within an authorized time window) and then goes back once again to passive mode. This reply is also validated and acknowledged locally by dedicated logic at the slave subscriber and is received by the master subscriber.

[0187] In a third embodiment, a dedicated component is used that carries out the following functions:

[0188] inhibition of transmissions on the bus when the subscriber is in passive mode,

[0189] addition of security mechanisms:

[0190] use of a window to authorize the transmission of responses managed locally at slave subscriber stations,

[0191] isolation of subscriber stations from the bus if the bus is defective,

[0192] multi-sampling of the bit.

[0193] The dedicated component (or the dedicated controller) replaces a conventional CAN controller.

[0194] This dedicated component 50 will make the interface between the application layer 51 and the physical support of the bus 52 through the line “driver”.

[0195] It must support the following four functions:

[0196] send 54: transfer application data to the bus in the form of frames,

[0197] reception 54: recovery of frames on the bus to extract the application data,

[0198] parameter setting 53: dialogue interface with the application layer to set controller parameters,

[0199] monitoring 56: check that the physical layer is operating correctly.

[0200] These functions may be executed in parallel or sequentially. The diagram in FIG. 6 illustrates the different cases:

[0201] the parameter setting function 53 must be active and available at all times with regard to the application layer 51 regardless of the activation state of other functions.

[0202] send 54 and reception 55 functions are activated exclusively (the controller either sends or receives).

[0203] the monitoring function 56 is activated at the request of the transmission layer (to check the sent frame) and the reception layer, to check the quality of the received frame.

[0204] The dedicated component may be made in the form of an ASIC (Application Specific Integrated Circuit) specific component, or a microprogrammed controller.

REFERENCES

[0205] [1] ISO Standard 11519

[0206] [2] ISO Standard 11898 

1. Process for management of a deterministic field bus providing communication of messages between several subscriber stations each comprising at least one controller responsible for generating and decoding the communication protocol, characterized in that transmissions from one of the subscriber stations onto the bus are enabled and transmissions from the other stations onto the bus are disabled to give an exchange principle in which only one subscriber station is active at any one time, the others remaining passive.
 2. Process according to claim 1, in which the principle of bit juxtaposition is not used.
 3. Process according to claim 1, in which a supervision mechanism is used for the output level from each controller.
 4. Process according to claim 1, in which a window for authorization to send responses managed locally at the slave subscriber stations is used.
 5. Process according to claim 1, in which subscriber stations are isolated from the bus if they are defective.
 6. Process according to claim 1, in which each bit after the third is multi-sampled.
 7. Deterministic field bus comprising controllers, line driver circuits and a line providing communication of messages between several subscriber stations, characterized in that it comprises a management device including means of validating transmissions from one of the subscriber stations on the bus, and means of disabling transmissions from other stations onto the bus to give an exchange principle in which only one subscriber station is active at any one time, while the others remain passive.
 8. Bus according to claim 7, in which each subscriber station comprises two associated controllers.
 9. Bus according to claim 7, in which each subscriber station comprises logical means placed between a controller and the corresponding bus driver circuit, carrying out security mechanisms for: monitoring the configuration of the controller output level, use of a window to authorize sending responses managed locally at slave subscriber stations, isolation of subscriber stations from the bus if the bus is defective.
 10. Bus according to claim 7, in which each subscriber station comprises a dedicated component performing the following functions: security mechanisms enabling: use of a window to authorize sending responses managed locally in slave subscriber stations, isolation of subscriber stations from the bus if the bus is defective. Multi-sampling of the bit.
 11. Use of the deterministic field bus according to any one of claims 7 to 10, for avionics. 